今回は,Oracleのネットワーク環境の構成について,学んでいきましょう。

 クライアント・コンピュータから,Oracleがインストールされているデータベースサーバー・コンピュータにアクセスするためには,両者に「Oracle Net」がインストールされている必要があります(図1)。

図1●クライアント/サーバー接続
図1●クライアント/サーバー接続

 また,アプリケーションサーバーを介した接続の場合は,アプリケーションサーバーとデータベースサーバーにOracle Netがインストールされている必要があります(図2)。

図2●アプリケーションサーバーによるWebクライアント接続
図2●アプリケーションサーバーによるWebクライアント接続

データベースサーバー側には「リスナープロセス」が必要

 データベースサーバー側には,クライアントからの接続要求を受け付ける「リスナープロセス」が必要です。リスナーのデフォルトポート番号は1521,デフォルトの名前はLISTENERです。

 リスナープロセスは,「OEM(Oracle Enterprise Manager)」または「lsnrctl(リスナーコントロール)ユーティリティ」を使用して,起動,停止,確認することができます。OSのプロンプト上から,lsnrctlユーティリティを使用して起動,停止,確認を行うコマンドは次の通りです。

起動:lsnrctl start [リスナー名]
停止:lsnrctl stop [リスナー名]
確認:lsnrctl status [リスナー名]

 リスナー名を省略した場合はLISTENERとして解釈されます。

 リスナープロセスが起動時に参照するファイルを「listener.oraファイル」と呼び,OEMまたは「Oracle Net Managaer」で編集することができます。listener.oraファイルはデータベースサーバー側に必要なファイルで,クライアント・コンピュータまたはアプリケーションサーバーに配置する必要はありません。

 listener.oraファイルには,次のように,リスニングアドレス(ホスト名,プロトコル,ポート番号)と接続可能なデータベース情報(サービス名)を記述します(説明のため行番号をつけています)。


 1: LISTENER =
 2:   (DESCRIPTION_LIST =
 3:     (DESCRIPTION =
 4:       (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx)(PORT = 1521))
 5:     )
 6:   )

 7: SID_LIST_LISTENER =
 8:   (SID_LIST =
 9:     (SID_DESC =
10:        (ORACLE_HOME= /home/oracle)
11:        (GLOBAL_DBNAME = orcl.oracle.com)
12: 	 (SID_NAME = orcl)
13:     )
14:   )

 1行目~6行目には,リスニングアドレスが記述されています。1行目は,リスナー名です。

 7行目~14行目には,接続可能なデータベース情報が記述されています。11行目は,グローバルデータベース名つまりサービス名,12行目は,インスタンス名です。